774F - Pens And Days Of Week - CodeForces Solution


*special problem binary search number theory *2700

Please click on ads to support us..

Python Code:

n = int(input())
l = [int(i) for i in input().split(' ')]
ct = 0
found = True
m = min(l)
nl = [j for j in l] 
if min(nl) <=7:
    pass
else:
    while min(nl) >15:
        v = ((sum(nl)-(sum(nl)%(7*n)))/(7*n))*6
        for i in range(len(nl)):
            nl[i] = nl[i] - v
while found:
    if n % 7 == 0:
        dvs = True
        while dvs:
            if (nl.index(min(nl)) + 1) % 7 == 0:
                nl[nl.index(min(nl))] = nl[nl.index(min(nl))] * 8
            else:
                dvs = False
        print(nl.index(min(nl))+1)
        break
    if len(nl) == 1:
        print(1)
        break
    for i in range(len(nl)):
        if (ct+1) % 7 == 0:
            pass
        else:
            nl[i] = nl[i] - 1
            if nl[i] == 0:
                print(nl.index(0)+1)
                found = False
                break
        ct += 1


Comments

Submit
0 Comments
More Questions

1669D - Colorful Stamp
1669B - Triple
1669A - Division
1669H - Maximal AND
1669E - 2-Letter Strings
483A - Counterexample
3C - Tic-tac-toe
1669F - Eating Candies
1323B - Count Subrectangles
991C - Candies
1463A - Dungeon
1671D - Insert a Progression
1671A - String Building
1671B - Consecutive Points Segment
1671C - Dolce Vita
1669G - Fall Down
4D - Mysterious Present
1316B - String Modification
1204A - BowWow and the Timetable
508B - Anton and currency you all know
1672A - Log Chopping
300A - Array
48D - Permutations
677C - Vanya and Label
1583B - Omkar and Heavenly Tree
1703C - Cypher
1511C - Yet Another Card Deck
1698A - XOR Mixup
1702E - Split Into Two Sets
1703B - ICPC Balloons